home *** CD-ROM | disk | FTP | other *** search
/ Gold Medal Software 2 / Gold Medal Software Volume 2 (Gold Medal) (1994).iso / prog / gfact20e.arj / JACKDEMO.BAS < prev    next >
BASIC Source File  |  1993-09-12  |  2KB  |  75 lines

  1. DECLARE SUB DELAY (SECONDS!)
  2.  
  3. REM JACK DEMO
  4. REM COPYRIGHT 1993 JAMES A. SAUSVILLE
  5. REM ALL RIGHTS RESERVED
  6. REM THIS DEMO IS DISTRIBUTED AS A PART OF THE GRAPHICS FACTORY 2.0
  7. REM IT IS INTENDED TO SHOW HOW GRAPHICS MAY BE USED IN YOUR OWN PROGRAMS.
  8.  
  9. SCREEN 9
  10.  
  11. REM PLEASE NOTE THIS PROGRAM CONTAINS NO ERROR TRAPPING
  12.  
  13. REM THE SET FILE MAY BE USED TO CHANGE THE PALETTE AND DIMENTION THE STORAGE
  14. REM ARRAY FOR THE GRAPHICS
  15.  
  16. DIM SET%(19)
  17.  
  18. FILE$ = "JACKDEMO.SET"
  19. DEF SEG = VARSEG(SET%(0))
  20. BLOAD FILE$, VARPTR(SET%(0))
  21. DEF SEG
  22.  
  23. NUMFRAMES% = SET%(0)  ' THE NUMBER OF GRAPHICS STORED
  24. ELEMENTS% = SET%(3)   ' THE SIZE/OFFSET OF THE GRAPHICS
  25.  
  26. REM CHANGE THE PALETTE TO THE ONE STORED IN THE SET FILE
  27.  
  28. DIM CURPAL%(15)
  29.  
  30. FOR LLL = 0 TO 15
  31.     CURPAL%(LLL) = SET%(4 + LLL)
  32. NEXT LLL
  33. PALETTE USING CURPAL%
  34.  
  35. REM DIMENSION THE ARRAY FOR THE GRAPHICS
  36.  
  37. DIM JACK%(NUMFRAMES% * ELEMENTS%)
  38.  
  39. FILE$ = "JACKDEMO.GF"
  40. DEF SEG = VARSEG(JACK%(0))
  41. BLOAD FILE$, VARPTR(JACK%(0))
  42. DEF SEG
  43.  
  44. REM DEFINE AN ANIMATION SEQUENCE FOR THE FRAMES.
  45. REM THE TWO DIGIT NUMBER IN THE STRING IS THE FRAME TO DISPLAY
  46. A$ = "01 01 02 02 03 03 04 04 01 01 02 02 03 03 04 04 01 01 02 02 03 03 04 "
  47. B$ = "04 01 01 02 02 03 03 04 04 05 06 07 08 09 10 11 12 13 14 15 16 17 17 "
  48. C$ = "16 16 17 17 16 16 17 17 16 16 17 17 17 17 17 "
  49. ANIM$ = A$ + B$ + C$
  50.  
  51. REM MAIN ANIMATION LOOP
  52.  
  53. DO WHILE (1)
  54.     FOR LLL = 1 TO LEN(ANIM$) STEP 3
  55.         FRAME$ = MID$(ANIM$, LLL, 2)
  56.         FRAME% = VAL(FRAME$)
  57.         PUT (300, 175), JACK%((FRAME% - 1) * ELEMENTS%), PSET
  58.         K$ = INKEY$             'READ THE KEYBOARD
  59.         IF K$ = " " THEN END    'END IF [SPACE] IS PRESSED
  60.         CALL DELAY(.2)
  61.     NEXT LLL
  62. LOOP
  63.  
  64. END
  65.  
  66. SUB DELAY (SECONDS!)
  67.  
  68. TIME = TIMER
  69. XDELAY = TIME + SECONDS
  70. WHILE NOT (TIMER > XDELAY)
  71. WEND
  72.  
  73. END SUB
  74.  
  75.